package com.songlanyun.modules.message.model;

import com.songlanyun.common.drive.ValueObject;
import com.songlanyun.common.enums.GoodsConstant;
import com.songlanyun.common.enums.MarketingConstant;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import static com.songlanyun.common.enums.MarketingConstant.ActivityType.NOT;

@Data
public class PayMessage implements ValueObject, IMessageBody {

    public PayMessage() {
    }

    public PayMessage(Long orderId,GoodsConstant.GoodsType goodsType, Integer goodsNum, BigDecimal money, List<GoodsMessage> goods) {
        this.orderId = orderId;
        this.goodsType = goodsType;
        this.goodsNum = goodsNum;
        this.money = money;
        this.goods = goods;
        this.totalAmount = money;
    }

    /**
     * 支付订单id
     */
    private Long orderId;

    /**
     * 商品类型
     * 0：普通商品
     * 1：服务商品
     * 2：活动商品
     * 3：积分商品
     * 4：充值商品
     */
    private GoodsConstant.GoodsType goodsType;

    /**
     * 活动类型营销活动内类型(0无活动，1秒杀，2拼团）
     */
    private MarketingConstant.ActivityType activityType = NOT;

    /**
     * 商品数量
     */
    private Integer goodsNum;

    /**
     * 支付总金额
     */
    private BigDecimal money;

    /**
     * 总积分
     */
    private BigDecimal totalPoint;

    /**
     * 商品
     */
    private List<GoodsMessage> goods;

    /**
     *
     */
    private BigDecimal totalAmount;

}
